package hospital.dao;

import java.util.List;

import hospital.model.AppointmentModel;
import hospital.model.DocScheduleModel;
import hospital.model.EmpInfoModel;
import hospital.model.LoginModel;
import hospital.model.PatientInfoModel;
import hospital.model.RecordDetailModel;

public interface StaffDao {
	public boolean insertCreatePatient(LoginModel loginInfo, PatientInfoModel patientInfo);

	public List<PatientInfoModel> selectGetPatientResult(long userId, String firstname, String lastname);

	public EmpInfoModel selectGetDefaultDoctor(long doctorId);

	public List<PatientInfoModel> selectGetAppointPatientResult(long userId, String firstname, String lastname);

	public List<EmpInfoModel> selectGetAppointDocResult(long userId, String firstname, String lastname);

	public List<DocScheduleModel> selectGetDocSchedules(long docId);

	public boolean insertCreateAppointment(AppointmentModel appointment);

	public List<RecordDetailModel> selectGetRecordDetailList(long patientId);

	public List<DocScheduleModel> selectGetAppointmentList(long appointmentId, long patientId, long doctorId);

	public boolean updateAppointment(AppointmentModel appointment);

	public boolean deleteAppointment(long deleteId);

	public boolean updatePatient(PatientInfoModel patientInfo);

	public List<PatientInfoModel> selectGetAllPatients();

	public List<RecordDetailModel> selectSearchRecord(long patientId, long recordTimeStart, long recordTimeEnd,
			String diagnosis, String drug, String comment);

	public boolean selectCheckAvailability(String email);

	public boolean selectCheckSinUnique(String sin);

	public boolean selectCheckPatientExist(long patientId);

	public boolean selectCheckOhipUnique(String ohip);

	public boolean updateUsername(String email, long patientId);

	public String selectCheckPassword();

	public boolean updateChangePassword(String password);
}
